package com.doublethread.easymart.modules.product.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品统计信息VO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProductStatisticsVO {

    /**
     * 商品总数
     */
    private Long totalProducts;

    /**
     * 在售商品数
     */
    private Long activeProducts;

    /**
     * 下架商品数
     */
    private Long inactiveProducts;

    /**
     * 今日新增商品数
     */
    private Long todayNewProducts;

    /**
     * 本周新增商品数
     */
    private Long weekNewProducts;

    /**
     * 本月新增商品数
     */
    private Long monthNewProducts;

    /**
     * 库存不足商品数（库存 <= 10）
     */
    private Long lowStockProducts;

    /**
     * 零库存商品数
     */
    private Long outOfStockProducts;

    /**
     * 平均商品价格
     */
    private BigDecimal avgPrice;

    /**
     * 最高商品价格
     */
    private BigDecimal maxPrice;

    /**
     * 最低商品价格
     */
    private BigDecimal minPrice;

    /**
     * 总库存数量
     */
    private Long totalStock;

    /**
     * 总销量
     */
    private Long totalSales;

    /**
     * 分类总数
     */
    private Long totalCategories;

    /**
     * 品牌总数
     */
    private Long totalBrands;

    /**
     * 统计时间
     */
    private LocalDateTime statisticsTime;
}
